﻿using MC.Warehouse.Models;
using System;

namespace MC.Warehouse.ViewModels
{
    public abstract class UserControlViewModel : BaseViewModel
    {
        abstract public BaseModel Model { get; set; }

        abstract internal void Initialize();

        abstract internal void Refresh();

        abstract internal void Search();

        abstract internal void Clean();

        abstract internal void New();

        virtual internal void Edit()
        {
            throw new NotImplementedException();
        }

        abstract internal void Copy();

        virtual internal void Save()
        {
            throw new NotImplementedException();
        }

        abstract internal void Delete();

        virtual internal void Print()
        {
            throw new NotImplementedException();
        }

        virtual internal void SendMail()
        {
            throw new NotImplementedException();
        }

        virtual internal void ExportExcell()
        {
            throw new NotImplementedException();
        }
    }
}
